var rowIndex = "%^%%%%";//开工登记表的下标（用于改变选中行样式）
var page;//开工登记表的页码
var _index = -1;//开工表的下标（用于表勾选）
var flag = false;//区分状态
var _id;
/*
 * @Description: 预加载
 * @param : 
 */
$(function() {
	resizeIframeHight();
	pullDown();
	initStratTable();
	
	//点击Tab刷新表格
	$(".SO",parent.document).click(function(){
		$('#stratTable').bootstrapTable('refresh');
//		setTimeout(function(){
//			if(_index != -1){
//				$('#stratTable').bootstrapTable('check',_index);
//			}
//		},500);
	});
});
/*
 * @Description: 初始化开工记录表 
 * @param :  
 */
function initStratTable() {
	$('#stratTable').bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("dispatch/findByStartWork.action"),//请求后台的URL
		//height : $(window).height() - 200,//行高
		method : "POST",//请求方式
		//striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
		pagination : true,//是否显示分页
		clickToSelect : true,//是否启用点击选中行
		singleSelect : true,//是否单选
		pageNumber : 1,//初始化加载第几页
		pageSize : 10,//每页的记录行数
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
		pageList : [ 10, 25, 50, 100 ],// 分页方式：client客户端分页，server服务端分页
		rowStyle : function(row, index) {//自定义样式，参数为：row：行数据，index：行下标
			var classes = [ 'success' ];
			if (index == rowIndex) {
				return {
					classes : classes[0]
				};
			}
			return {};
		},
		queryParams : function(params) {//传递参数
			var data= {}, fWorker;
			data.offset = params.offset;
			data.row = params.limit;
			data.fWorker = $("#fWorker").val();
			data.fCode = $("#fCode").val();
			data.fWorkShopId = $("#fWorkShopId").val();
			//data.sortOrder = params.order;//排序
			//data.sortName = params.sort;//排序
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : [/* {
			checkbox : true
		}, */{
			field : "fCode",
			align : 'center',
			valign: 'middle',
			title : '派工单号'
		}, {
			field : "fNumber",
			align : 'center',
			valign: 'middle',
			title : '产品代码'
		}, {
			field : "fName",
			align : 'center',
			valign: 'middle',
			title : '产品名称'
		}, {
			field : "fModel",
			align : 'center',
			valign: 'middle',
			title : '规格型号'
		}, {
			field : "fOperSN",
			align : 'center',
			valign: 'middle',
			title : '工序号'
		}, {
			field : "fOper",
			align : 'center',
			valign: 'middle',
			title : '工序名称'
		}, {
			field : "fNote",
			align : 'center',
			valign: 'middle',
			title : '加工说明'
		}, {
			field : "fMachine",
			align : 'center',
			valign: 'middle',
			title : '设备名称'
		}, {
			field : "fIsStock",
			align : 'center',
			valign: 'middle',
			title : '领料',
			formatter : function(value,row,index){
				var str = "不需要";
				if(row.fIsOutStock){
					str = "需要，";
					if(row.fOutStockStatus){
						str += "已领";
					}else{
						str += "未领";
					}
				}
				return str;
			}
		}, {
			field : "fTargetQty1",
			align : 'center',
			valign: 'middle',
			title : '派工数量',
			formatter : function(value,row,index){
				return parseFloat(row.fTargetQty) - parseFloat(row.fQty);
			}
		}/*, {
			field : "fWorkerName",
			align : 'center',
			valign: 'middle',
			title : '操作工'
		}*/,  {
			field : "fTime",
			align : 'center',
			valign: 'middle',
			title : '时间',
			formatter : function(value,row,index){
				var str = "";
				if(row.fStartTime != null){
					str = dateFormatter(row.fStartTime)+ ' 至 ' +dateFormatter(row.fEndTime);
				}
				return str;
			}
		}, {
			field : 'operate',//如需导出execl field必填operate，否则操作行会被导出
			align : 'center',
			valign: 'middle',
			title : '操作',
			formatter : function(value,row,index){
				var fIsOutStock = row.fIsOutStock;
				var fOutStockStatus = row.fOutStockStatus;
				var showORhide = "";
				if(fIsOutStock){
					if(!fOutStockStatus){
						showORhide = "none";
					}
				}
				return '<button type="button" class="btn btn-default startOperation" style="font-size:12px;margin-right:5px;display:'+ showORhide +'">开工</button>';
			},
			events : operateEvents
		}],
		onClickRow : function(row, $element) {//行单击
//			console.log(row)
//			rowId = row.id;
			$('.success').removeClass('success');// 去除之前选中的行的，选中样式
			$($element).addClass('success');// 添加当前选中的 success样式用于区别
			index = $element.data('index');
			rowIndex = index;
			page = $('.pagination .active').find("a").eq(0).text();
		},
		onPageChange : function(number, size) {//翻页
			if (page == number) {
				rowIndex = index;
			} else {
				$('.success').removeClass('success');
				rowIndex = "%^%%%%";
			}
		},
		onUncheck : function(index){//取消勾选
			$('.success').removeClass('success');
			rowIndex = "%^%%%%";
		}
	});
}

/*
 * @Description: 表按钮操作事件
 * @param :
 */
window.operateEvents = {
	'click .startOperation' : function(e, value, row, index) {//开工按钮点击事件
		var name = $("#wname").val();
		_id = row.id;
		if(name == ""){
			$("#jockeyModal").modal('show');
			return false;
		}
		saveStart($("#fWorker").val());
	}
}
/*
 * @Description: 重置按钮单击事件
 * @param :
 */
$("#resetting").click(function() {
	flag = true;
	$(".clean-c").val("");
	$('#fWorkShopId').selectpicker('refresh');
	reset();
});
/*
 * @Description: 重置
 * @param :
 */
function reset(){
	wipeData();
}

/*
 * @Description: 输入操作工卡号回车事件
 * @param :
 */
/*$("#fWorker").keypress(function(event){
	if(event.keyCode == "13"){
		flag = false;
		wipeData();
	}
});*/
/*
 * @Description: 输入操作工卡号回车事件
 * @param :
 */
function wipeData(){
	var fWorker = $("#fWorker").val();
	$.ajax({
		url : pathUrl("emp/findByCondition.action"),
		type : 'GET',
		dataType : "JSON",
		data : {
			"row" : 100000,
			"fNumber" : fWorker
		},
		success : function(data) {
//			console.log(data)
			if(data.code == "0000"){
				if(data.rows.length == 1){
					$("#wname").val(data.rows[0].fName);
				}else{
					$("#wname").val("");
				}
			}else{
				$("#wname").val("");
//				$("#fWorker").focus();
			}
			initStratTable();
			$('.success').removeClass('success');
			rowIndex = "%^%%%%";
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}

/*
 * @Description: 初始化工作中心下拉框里的数据
 * @param : 
 */
function pullDown(){
	$.ajax({
		url : pathUrl("workCenter/getworkCenterIdAndName.action"),
		type : 'GET',
		dataType : "JSON",
		success : function(data) {
			var option = "";
			$("#fWorkShopId").empty();
			option = '<option value="">' + "请选择" + '</option>';
			for (x in data) {
				option += '<option value="' + data[x].text + '">' + data[x].value + '</option>';
			}
			$("#fWorkShopId").html(option);
			$('#fWorkShopId').selectpicker('refresh');
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 查询按钮点击事件
 * @param : 
 */
$("#query").click(function(){
	wipeData();
	initStratTable();
	$('.success').removeClass('success');
	rowIndex = "%^%%%%";
});
/*
 * @Description: 操作工卡号模态框确定按钮点击事件
 * @param : 
 */
$("#save").click(function(){
	saveStart($("#fWorkerID").val());
});
/*
 * @Description: 操作工卡号模态框输入操作工卡号回车事件
 * @param :
 */
$("#fWorkerID").keypress(function(event){
	if(event.keyCode == "13"){
		saveStart($("#fWorkerID").val());
	}
});
/*
 * @Description: 开工方法
 * @param : 
 */
function saveStart(fWorker){
	if(fWorker == ""){
		swal_Tips("请输入操作工卡号！");
		return false;
	}
	showLoading();
	$.ajax({
		url : pathUrl("start/insertSelective.action"),
		type : "POST",
		dataType : "JSON",
		data : {'fDisPathId':_id,'fWorker':fWorker},
		success : function(data) {
			if(data.code == "0000"){
				swal_Tips_Short(data.message);
				$("#jockeyModal").modal('hide');
				reset();
			}else{
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 操作工卡号模态框显示后操作：操作工卡号获得焦点
 * @param :
 */
$('#jockeyModal').on('shown.bs.modal', function () {
	$("#fWorkerID").focus();
});
/*
 * @Description: 操作工卡号模态框隐藏后，清空操作工卡号
 * @param :
 */
$('#jockeyModal').on('hidden.bs.modal', function () {
	$("#fWorkerID").val("");
});
